<template>
  <div>
<MyDialog v-model="dialogVisible">
  <template #header>
    测试
  </template>
  <template #footer>
    取消
  </template>
  </MyDialog>
  <el-button @click="handleDel"></el-button>
  <el-button @click="handleDel"></el-button>
  </div>
</template>

<script setup>
import MyDialog from "@/components/MyDialog/index.vue";
import { reactive, ref } from 'vue'
import {  ElMessageBox,ElMessage } from "element-plus";

const state = reactive({

})
const dialogVisible = ref(true)
// const handleOpen = (confirmTit,oper,fn) => {
//    ElMessageBox.confirm(
//    confirmTit,
//     '提示',
//     {
//       confirmButtonText: '确认',
//       cancelButtonText: '取消',
//       type: 'warning',
//     }
//   )
//     .then(async() => {
//       const res = await fn()
//       if (res) {
//               ElMessage({
//         type: 'success',
//         message: `${oper}成功`,
//       })
//       } else {
//         ElMessage({
//         type: 'info',
//         message: '错误',
//       })
//       }
//     })
//     .catch(() => {
//       ElMessage({
//         type: 'info',
//         message: '操作已取消',
//       })
//     })
// }

// const handleDelOrder = () => {
//   return new Promise((resolve, reject) => {
//     resolve("ok")
//   })
// }
// const handleDel = () => {
//   handleOpen('是否确认请普军吃饭','吃饭',handleDelOrder())
  
// }

const handleOpen =  (confirmTit, oper, fn) => {
   ElMessageBox.confirm(confirmTit, '提示', {
    confirmButtonText: '确认',
    cancelButtonText: '取消',
    type: 'warning'
  })
    .then(
      //  async () => {
      // const res = await fn()
      // if (res) {
      //         ElMessage({
      //   type: 'success',
      //   message: `${oper}成功`,
      // })
      // } else {
      //   ElMessage({
      //   type: 'info',
      //   message: '错误',
      // })
      // }
      //  }
      async () => {
        console.log('#', '确认')
        console.log('oper', oper)
        const res = await fn()
        console.log('res',res);
        ElMessage({
          type: 'success',
          message: `${oper}成功`
        })
      }
    )
    .catch(() => {
      ElMessage({
        type: 'info',
        message: '操作已取消'
      })
    })
}

const handleDelOrder = () => {
  return new Promise((resolve, reject) => {
    resolve('ok')
  })
}
const handleDel = () => {
  handleOpen('是否确认同步个人订单', '同步', handleDelOrder)
}

</script>

<style scoped lang='scss'>

</style>